package com.hustcad.plm.rpm.model.vo.project;

import lombok.Data;

import java.util.Objects;

@Data
public class ProjectTemplateVO  {
    private String planTemplateOID;
    private String developmentLevel;
    private String developmentMode;
    private String pushMode;
    private String projectOID;
    private String projectOTYPE;
    private String projectName;


    public ProjectTemplateVO(String pushMode, String developmentLevel,  String developmentMode) {
        this.pushMode = pushMode;
        this.developmentLevel = developmentLevel;
        this.developmentMode = developmentMode;
    }

    @Override
    public String toString() {
        return "ProjectTemplateVO{" +
                "planTemplateOID='" + planTemplateOID + '\'' +
                ", developmentLevel='" + developmentLevel + '\'' +
                ", developmentMode='" + developmentMode + '\'' +
                ", pushMode='" + pushMode + '\'' +
                ", projectOID='" + projectOID + '\'' +
                ", projectOTYPE='" + projectOTYPE + '\'' +
                ", projectName='" + projectName + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ProjectTemplateVO that = (ProjectTemplateVO) o;
        return Objects.equals(planTemplateOID, that.planTemplateOID) && Objects.equals(developmentLevel,
                                                                                       that.developmentLevel) && Objects.equals(
                developmentMode, that.developmentMode) && Objects.equals(pushMode, that.pushMode) && Objects.equals(
                projectOID, that.projectOID) && Objects.equals(projectOTYPE, that.projectOTYPE) && Objects.equals(
                projectName, that.projectName);
    }

    @Override
    public int hashCode() {
        return Objects.hash(planTemplateOID, developmentLevel, developmentMode, pushMode, projectOID, projectOTYPE,
                            projectName);
    }


}
